# 3.1导入蓝图对象
from flask import session

from info.models import User
from info.modules.index import index_blue
from flask import render_template, current_app


# 3.2 使用蓝图实现路由


@index_blue.route('/')
def index():
    # 我们可以再登录的时候，返回session的信息(如果有的话)
    # 1.从session中获取用户ID
    user_id = session.get('user_id', None)
    user = None
    # 2,　如果user_id存在，就差数据库
    if user_id:
        try:
            user = User.query.get(user_id)
        except Exception as e:
            current_app.logger.error(e)

    # 3.返回user中的数据,讲模型转换字典
    data = {
        'user': user.to_dict() if user else None
    }

    return render_template('news/index.html', data=data)


@index_blue.route('/favicon.ico')
def favicon_ico():
    # 发送静态文件
    # current_app可以简单理解为app的替身，能够直接运行app的相关函数
    # send_static_file:专门用于发送静态文件（图像/文本/js...）
    # current_app 是在一个请求中，自动产生的，是app的代理对象
    return current_app.send_static_file('news/favicon.ico')
